- content_for :page_title do
  = t('admin.tags.title')

- content_for :header_tags do
  = javascript_pack_tag 'admin', async: true, crossorigin: 'anonymous'

.filters
  .filter-subset
    %strong= t('admin.tags.context')
    %ul
      %li= filter_link_to t('generic.all'), directory: nil
      %li= filter_link_to t('admin.tags.directory'), directory: '1'

  .filter-subset
    %strong= t('admin.tags.review')
    %ul
      %li= filter_link_to t('generic.all'), reviewed: nil, unreviewed: nil, pending_review: nil
      %li= filter_link_to t('admin.tags.unreviewed'), unreviewed: '1', reviewed: nil, pending_review: nil
      %li= filter_link_to t('admin.tags.reviewed'), reviewed: '1', unreviewed: nil, pending_review: nil
      %li= filter_link_to safe_join([t('admin.accounts.moderation.pending'), "(#{Tag.pending_review.count})"], ' '), pending_review: '1', reviewed: nil, unreviewed: nil

  .filter-subset
    %strong= t('generic.order_by')
    %ul
      %li= filter_link_to t('admin.tags.most_recent'), popular: nil, active: nil
      %li= filter_link_to t('admin.tags.most_popular'), popular: '1', active: nil
      %li= filter_link_to t('admin.tags.last_active'), active: '1', popular: nil

= form_tag admin_tags_url, method: 'GET', class: 'simple_form' do
  .fields-group
    - TagFilter::KEYS.each do |key|
      = hidden_field_tag key, params[key] if params[key].present?

    - %i(name).each do |key|
      .input.string.optional
        = text_field_tag key, params[key], class: 'string optional', placeholder: I18n.t("admin.tags.#{key}")

    .actions
      %button.button= t('admin.accounts.search')
      = link_to t('admin.accounts.reset'), admin_tags_path, class: 'button negative'

%hr.spacer/

= form_for(@form, url: batch_admin_tags_path) do |f|
  = hidden_field_tag :page, params[:page] || 1

  - TagFilter::KEYS.each do |key|
    = hidden_field_tag key, params[key] if params[key].present?

  .batch-table.optional
    .batch-table__toolbar
      - if params[:pending_review] == '1' || params[:unreviewed] == '1'
        %label.batch-table__toolbar__select.batch-checkbox-all
          = check_box_tag :batch_checkbox_all, nil, false
        .batch-table__toolbar__actions
          = f.button safe_join([fa_icon('check'), t('admin.accounts.approve')]), name: :approve, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }

          = f.button safe_join([fa_icon('times'), t('admin.accounts.reject')]), name: :reject, class: 'table-action-link', type: :submit, data: { confirm: t('admin.reports.are_you_sure') }
      - else
        .batch-table__toolbar__actions
          %span.neutral-hint= t('generic.no_batch_actions_available')

    .batch-table__body
      - if @tags.empty?
        = nothing_here 'nothing-here--under-tabs'
      - else
        = render partial: 'tag', collection: @tags, locals: { f: f, batch_available: params[:pending_review] == '1' || params[:unreviewed] == '1' }

= paginate @tags

- if params[:pending_review] == '1' || params[:unreviewed] == '1'
  %hr.spacer/

  %div.action-buttons
    %div
      = link_to t('admin.accounts.approve_all'), approve_all_admin_tags_path, method: :post, data: { confirm: t('admin.accounts.are_you_sure') }, class: 'button'

    %div
      = link_to t('admin.accounts.reject_all'), reject_all_admin_tags_path, method: :post, data: { confirm: t('admin.accounts.are_you_sure') }, class: 'button button--destructive'
